Saltar al contenido principal

Cambio de Receta vía HTTP con Node-RED

Este tutorial le muestra cómo cambiar recetas de forma remota en su cámara OV20i usando solicitudes HTTP simples. Construirá un sistema que permite a cualquier dispositivo en su red cambiar entre diferentes configuraciones de inspección al instante, ideal para líneas de producción con múltiples productos.

Lo que Construirá: Un sistema de cambio remoto de recetas que responde a comandos HTTP desde tablets, computadoras, PLCs o cualquier dispositivo que pueda enviar solicitudes web.

Tiempo Estimado: 15-20 minutos

Nivel de Habilidad: Principiante

Ejemplo Real: Imagine a un operador escaneando un código de barras en su tablet, y la cámara cambia automáticamente a la receta correcta para ese producto — ¡eso es exactamente lo que construiremos!

Por Qué los Cambios de Receta vía HTTP Facilitan la Vida

El OV20i hace que el cambio remoto de recetas sea sencillo:

  • Cualquier dispositivo puede activar — tablets, PLCs, computadoras, incluso smartphones
  • Cambio instantáneo — las recetas cambian en menos de un segundo
  • Sin configuraciones complejas — solo unos pocos nodos en Node-RED
  • Funciona con sistemas existentes — se integra con lo que ya tiene

Perfecto para: líneas multiproducto, paneles de control de operadores, sistemas automatizados o donde necesite cambios rápidos de receta.

Prerrequisitos

Antes de comenzar, asegúrese de tener:

  • Cámara OV20i conectada y funcionando
  • Al menos 2 recetas creadas y listas para usar
  • Acceso a Node-RED (a través del IO Block)
nota

Necesitará los números de ID de receta — estos se encuentran en la barra de direcciones del navegador cuando edita recetas.

Paso 1: Encuentre Sus Números de Receta

1.1 Obtener IDs de Receta

  1. Abra cualquier receta en el Editor de Recetas
  2. Mire la barra de direcciones de su navegador
  3. Encuentre el número después de /recipe/ (ejemplo: /recipe/15 significa que el ID de receta es 15)
  4. Anote los IDs de todas las recetas entre las que desea cambiar

¿Por qué estos números? Cada receta tiene un ID único que nunca cambia — esto es lo que la cámara usa internamente.

Paso 2: Abra Node-RED

2.1 Acceda al Constructor de Flujos

  1. En cualquier Editor de Recetas, haga clic en "IO Block"
  2. Haga clic en "Configure IO"

¡Ahora está en Node-RED donde construiremos su sistema de cambio de recetas!

2.2 Planifique su Configuración

Esto es lo que construiremos:

Clic en Botón → Formatear Solicitud → Enviar a Cámara → Ver Resultado

¡Simple! La cámara tiene un servidor web integrado que escucha solicitudes de cambio de receta.

Paso 3: Construya su Cambiador de Recetas

3.1 Agregue los Nodos Básicos

Arrastre estos 4 nodos a su lienzo:

  1. Inject (de la sección Input) — su botón para "cambiar receta"
  2. Function (de la sección Function) — formatea la solicitud correctamente
  3. HTTP Request (de la sección Network) — envía el comando a la cámara
  4. Debug (de la sección Output) — muestra si funcionó

3.2 Conéctelos

Conéctelos así:

Inject → Function → HTTP Request → Debug

¡Fácil! Ahora configuremos cada uno.

Paso 4: Configure Sus Nodos

4.1 Configure su Botón de Receta

  1. Doble clic en el nodo Inject
  2. Cambie el nombre a "Switch to Recipe 15" (use su ID de receta real)
  3. Establezca el Payload en "15" (su número de ID de receta)
  4. Haga clic en "Done"

4.2 Configure el Formateador de Solicitudes

  1. Doble clic en el nodo Function
  2. Nómbrelo "Format Request"
  3. Copie este código simple:
// Obtener número de receta desde el botón
let recipeID = msg.payload;

// Configurar la solicitud web
msg.headers = {'Content-Type': 'application/json'};
msg.payload = JSON.stringify({ id: recipeID });

return msg;

  1. Haga clic en "Done"

Qué hace esto: Toma su número de receta y lo empaqueta como la cámara espera.

4.3 Configure la Solicitud HTTP

  1. Doble clic en el nodo HTTP Request
  2. Establezca el Método en "POST"
  3. Establezca la URL en localhost:5001/pipeline/activate
  4. Nómbrelo "Change Recipe"
  5. Haga clic en "Done"
nota

Antes de la versión 18.92: use http://[CAMERA_IP]/edge/pipeline/activate
Versión 18.92 y posteriores: use http://localhost:5001/pipeline/activate

4.4 Configure el Monitor de Respuesta

  1. Doble clic en el nodo Debug
  2. Nómbrelo "Recipe Change Result"
  3. Haga clic en "Done"

¡Perfecto! Su cambiador de recetas está listo para probar.

Paso 5: Pruebe su Cambiador de Recetas

5.1 Despliegue y Pruebe

  1. Haga clic en el botón rojo "Deploy"
  2. Haga clic en su botón inject (Switch to Recipe 15)
  3. Observe el panel debug para la respuesta

5.2 Verifique si Funcionó

Señales de éxito:

  • Debug muestra "success": true
  • La interfaz de la cámara muestra el nuevo nombre de receta
  • No hay mensajes de error en el panel debug

Si funcionó: ¡Felicidades! Acaba de cambiar recetas de forma remota.

Si no: Revise la sección de solución de problemas abajo.

5.3 Agregue Más Botones de Receta

¿Quiere múltiples recetas? Solo agregue más nodos inject:

  • Botón Receta 10: Payload = "10", Nombre = "Switch to Recipe 10"
  • Botón Receta 23: Payload = "23", Nombre = "Switch to Recipe 23"
  • Todos conectados al mismo nodo Function

Paso 6: Uso desde Otros Dispositivos

¡Ahora la parte divertida! Cualquier dispositivo puede cambiar recetas enviando solicitudes web a su cámara.

6.1 Desde Cualquier Navegador Web

Escriba esto en cualquier navegador de su red:

http://192.168.0.100:5001/pipeline/activate

(Reemplace con la IP de su cámara)

6.2 Desde Línea de Comandos

Windows/Mac/Linux - cambiar a receta 15:

curl -X POST http://192.168.0.100:5001/pipeline/activate \
-H "Content-Type: application/json" \
-d '{"id": "15"}'

6.3 Desde PLCs y Otros Sistemas

La mayoría de sistemas modernos pueden enviar solicitudes HTTP:

  • PLCs Siemens: Use bloques cliente HTTP
  • Allen-Bradley: Use instrucciones HTTP
  • Python/C#/Java: Use librerías HTTP estándar
  • Apps personalizadas: Cualquier lenguaje de programación funciona

El formato de la solicitud siempre es el mismo:

  • Método: POST
  • URL: http://[CAMERA_IP]:5001/pipeline/activate
  • Cuerpo: {"id": "RECIPE_NUMBER"}

Paso 7: Mejórelo Aún Más

7.1 Agregue Validación de Receta

¿Quiere evitar cambiar a recetas inexistentes? Modifique su función:

let recipeID = msg.payload;
let validRecipes = ["10", "15", "20"]; // Sus IDs reales de receta

if (!validRecipes.includes(recipeID)) {
msg.payload = "Receta inválida: " + recipeID;
return null; // No enviar solicitud
}

// Continúa el formateo normal...

7.2 Mapeo de Códigos de Producto

¿Quiere usar nombres de producto en lugar de números? Pruebe esto:

let productCodes = {
"BOLT_A": "10",
"BOLT_B": "15",
"SCREW_C": "20"
};

let recipeID = productCodes[msg.payload];
// Continúe con el formateo...

¡Ahora puede activar con nombres de producto en lugar de números!

7.3 Procesamiento de Respuesta

¿Quiere mejores mensajes de éxito/error? Agregue otra función después del HTTP Request:

let response = JSON.parse(msg.payload);

if (response.success) {
msg.payload = "✓ Receta cambiada con éxito!";
} else {
msg.payload = "✗ Falló el cambio de receta: " + response.error;
}

return msg;

Paso 8: Solución Rápida de Problemas

¿No funciona? Aquí las soluciones más comunes:

ProblemaSolución Rápida
Error "Recipe not found"Verifique el número de ID de receta en la URL
Sin respuesta algunaVerifique la IP de la cámara y la conexión de red
Mensaje "Parse error"Asegúrese que el código del nodo Function esté copiado correctamente
La receta no cambia realmenteAsegúrese que la receta exista y no esté corrupta

¿Sigue atascado? Verifique que su cámara esté en línea y accesible desde Node-RED.

¡Lo Logró!

¡Felicidades! Ahora tiene control remoto de recetas en su cámara OV20i. Con solo unos clics, construyó un sistema que puede:

  • Cambiar recetas instantáneamente desde cualquier dispositivo en su red
  • Integrarse con sistemas existentes como PLCs, tablets o computadoras
  • Soportar múltiples recetas con simples clics de botón
  • Validar solicitudes para evitar errores
  • Funcionar con aplicaciones personalizadas usando tecnología web estándar

¿Qué Sigue?

Ahora que tiene lo básico funcionando, puede:

Próximos Pasos Fáciles

  • Agregar más botones de receta para todos sus productos
  • Probar desde diferentes dispositivos como tablets o teléfonos
  • Crear mapeos personalizados de productos para facilitar la operación

Ideas Avanzadas

  • Construir dashboards para operadores con botones de selección de receta
  • Conectar a escáneres de código de barras para selección automática de receta
  • Integrar con sistemas MES para coordinación de línea de producción
  • Agregar logging para rastrear qué recetas se usan y cuándo

Ejemplos en el Mundo Real

Así usan otros el cambio de receta vía HTTP:

  • Empaque de alimentos: Escáner de código de barras activa cambio de receta para diferentes tamaños de paquete
  • Automotriz: PLC cambia recetas según tipo de pieza que llega en la línea
  • Electrónica: Tablet de operador con botones de receta para diferentes tarjetas de circuito
  • Control de Calidad: Cambio automático de receta basado en el programa de producción

Las posibilidades son infinitas — y todo comienza con el sistema simple que acaba de construir.

🔗 Vea También